package com.xydtech.ecard.merchant.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;

/**
 * 电子名片商户预约任务对象 ecard_merchant_reservation_task
 *
 * @author xydtech
 * @date 2023-08-05
 */
public class EcardMerchantReservationTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 商户ID */
    @Excel(name = "商户ID")
    private Long merchantId;

    /** 办理人注册ID */
    @Excel(name = "办理人注册ID")
    private Long cmRegistId;

    /** 预约业务类型 */
    @Excel(name = "预约业务类型")
    private String reservationBusiType;

    /** 预约日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentDate;

    @Excel(name = "经纬度")
    private String coordinate;

    @Excel(name = "地图地址")
    private String mapAddress;

    @Excel(name = "失败原因")
    private String failReason;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    @Excel(name = "办理结果")
    private String result;
    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 任务状态 0待处理 1已完成 */
    @Excel(name = "任务状态 0待处理 1已完成")
    private String taskSts;

    @Excel(name = "实际办理业务")
    private String actualBusiType;

    @Excel(name = "办理业务图片")
    private String visitPic;

    /** 商户类型：1-个人，2-商户，3-企业，4-新型农业主体 */
    private String merchantType;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setMerchantId(Long merchantId)
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId()
    {
        return merchantId;
    }
    public void setCmRegistId(Long cmRegistId)
    {
        this.cmRegistId = cmRegistId;
    }

    public Long getCmRegistId()
    {
        return cmRegistId;
    }
    public void setReservationBusiType(String reservationBusiType)
    {
        this.reservationBusiType = reservationBusiType;
    }

    public String getReservationBusiType()
    {
        return reservationBusiType;
    }
    public void setAppointmentDate(Date appointmentDate)
    {
        this.appointmentDate = appointmentDate;
    }

    public Date getAppointmentDate()
    {
        return appointmentDate;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }
    public void setFinishTime(Date finishTime)
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime()
    {
        return finishTime;
    }
    public void setTaskSts(String taskSts)
    {
        this.taskSts = taskSts;
    }

    public String getTaskSts()
    {
        return taskSts;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getCoordinate() {
        return coordinate;
    }

    public void setCoordinate(String coordinate) {
        this.coordinate = coordinate;
    }

    public String getMapAddress() {
        return mapAddress;
    }

    public void setMapAddress(String mapAddress) {
        this.mapAddress = mapAddress;
    }

    public String getFailReason() {
        return failReason;
    }

    public void setFailReason(String failReason) {
        this.failReason = failReason;
    }

    public String getActualBusiType() {
        return actualBusiType;
    }

    public void setActualBusiType(String actualBusiType) {
        this.actualBusiType = actualBusiType;
    }

    public String getVisitPic() {
        return visitPic;
    }

    public void setVisitPic(String visitPic) {
        this.visitPic = visitPic;
    }

    public String getMerchantType() {
        return merchantType;
    }

    public void setMerchantType(String merchantType) {
        this.merchantType = merchantType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("merchantId", merchantId)
                .append("cmRegistId", cmRegistId)
                .append("reservationBusiType", reservationBusiType)
                .append("appointmentDate", appointmentDate)
                .append("coordinate", coordinate)
                .append("mapAddress", mapAddress)
                .append("failReason", failReason)
                .append("creationTime", creationTime)
                .append("result", result)
                .append("finishTime", finishTime)
                .append("taskSts", taskSts)
                .append("actualBusiType", actualBusiType)
                .append("visitPic", visitPic)
                .append("merchantType", merchantType)
                .toString();
    }
}
